<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Metodología de la Programación II: Referencia de la Clase LZcoder</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generado por Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Página&nbsp;principal</span></a></li>
      <li class="current"><a href="classes.html"><span>Clases</span></a></li>
      <li><a href="files.html"><span>Archivos</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="classes.html"><span>Lista&nbsp;alfabética</span></a></li>
      <li><a href="annotated.html"><span>Lista&nbsp;de&nbsp;clases</span></a></li>
      <li><a href="functions.html"><span>Miembros&nbsp;de&nbsp;las&nbsp;clases</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Referencia de la Clase LZcoder</h1><!-- doxytag: class="LZcoder" -->Modulo que representa al algoritmo LZ77 de compresión.  
<a href="#_details">Más...</a>
<p>
<code>#include &lt;<a class="el" href="LZcoder_8h-source.html">LZcoder.h</a>&gt;</code>
<p>

<p>
<a href="classLZcoder-members.html">Lista de todos los miembros.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Métodos públicos</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c3415941c04cd28bc0ac647ed2a9601b"></a><!-- doxytag: member="LZcoder::LZcoder" ref="c3415941c04cd28bc0ac647ed2a9601b" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#c3415941c04cd28bc0ac647ed2a9601b">LZcoder</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor por defecto  inicializa todo a cero. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72620a073bc4b515304e39117035df4f"></a><!-- doxytag: member="LZcoder::~LZcoder" ref="72620a073bc4b515304e39117035df4f" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#72620a073bc4b515304e39117035df4f">~LZcoder</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor  libera toda la memoria reservada. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6bd9cb5f2dad8246d13da7e929055fee"></a><!-- doxytag: member="LZcoder::Leer" ref="6bd9cb5f2dad8246d13da7e929055fee" args="(std::istream &amp;is)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#6bd9cb5f2dad8246d13da7e929055fee">Leer</a> (std::istream &amp;is)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lee datos. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#54885f3096730720b85eca1b13694106">SiguienteCodigo</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calcula el siguiente codigo de la cadena.  <a href="#54885f3096730720b85eca1b13694106"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#2170c081cc9e7726fb2aa9215788f522">SiguienteCodigoMejor</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calcula el siguiente codigo de la cadena buscando la cadena mas larga.  <a href="#2170c081cc9e7726fb2aa9215788f522"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#0489c25c1202e211dd56c09b39353d3d">GetTamano</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#acb2e0ee6ae1623554b60b9712c601b2">GetDistancia</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#f2fc72da4d2546cdb4e5f7dbd11a05c7">GetParidad</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculo del crc32.  <a href="#f2fc72da4d2546cdb4e5f7dbd11a05c7"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Métodos privados</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classLZcoder.html">LZcoder</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#baaf69cda6e3270bce9cb8ac6e68bb01">operator=</a> (const <a class="el" href="classLZcoder.html">LZcoder</a> &amp;orig)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operador de asignación.  <a href="#baaf69cda6e3270bce9cb8ac6e68bb01"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classLZcoder.html#ed257e188ab775a19df1d517b29bc836">LZcoder</a> (const <a class="el" href="classLZcoder.html">LZcoder</a> &amp;orig)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor de copia.  <a href="#ed257e188ab775a19df1d517b29bc836"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Atributos privados</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4a85aa729b837dc9852f7ad4a1fe9b3d"></a><!-- doxytag: member="LZcoder::cad" ref="4a85aa729b837dc9852f7ad4a1fe9b3d" args="" -->
<a class="el" href="classCadena.html">Cadena</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>cad</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53efb532f195353709a90cc231e37430"></a><!-- doxytag: member="LZcoder::dist_max" ref="53efb532f195353709a90cc231e37430" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dist_max</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66587277043cbf60839ba8bedf7d4571"></a><!-- doxytag: member="LZcoder::indice" ref="66587277043cbf60839ba8bedf7d4571" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>indice</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Descripción detallada</h2>
Modulo que representa al algoritmo LZ77 de compresión. 
<p>
<dl class="author" compact><dt><b>Autor:</b></dt><dd>Mary Carmen Suárez</dd></dl>
Especificacion: <ul>
<li>Para que se comprima el texto, las subcadenas que coincidan tienen que ser al menos de tamaño 3 </li>
<li>La longitud máxima posible para una coincidencia es de 258 </li>
<li>La distancia máxima a la que puede estar la subcadena de nuestra posición actual es de 32768 caracteres. </li>
</ul>

<p>Definición en la línea <a class="el" href="LZcoder_8h-source.html#l00026">26</a> del archivo <a class="el" href="LZcoder_8h-source.html">LZcoder.h</a>.</p>
<hr><h2>Documentación del constructor y destructor</h2>
<a class="anchor" name="ed257e188ab775a19df1d517b29bc836"></a><!-- doxytag: member="LZcoder::LZcoder" ref="ed257e188ab775a19df1d517b29bc836" args="(const LZcoder &amp;orig)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LZcoder::LZcoder           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classLZcoder.html">LZcoder</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>orig</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor de copia. 
<p>
<dl compact><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>orig,tipo</em>&nbsp;</td><td>de dato que va a ser copiado </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Documentación de las funciones miembro</h2>
<a class="anchor" name="baaf69cda6e3270bce9cb8ac6e68bb01"></a><!-- doxytag: member="LZcoder::operator=" ref="baaf69cda6e3270bce9cb8ac6e68bb01" args="(const LZcoder &amp;orig)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classLZcoder.html">LZcoder</a>&amp; LZcoder::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classLZcoder.html">LZcoder</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>orig</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Operador de asignación. 
<p>
<dl compact><dt><b>Parámetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>orig,x=orig</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Devuelve:</b></dt><dd>devuelve x con los valores de orig </dd></dl>

</div>
</div><p>
<a class="anchor" name="54885f3096730720b85eca1b13694106"></a><!-- doxytag: member="LZcoder::SiguienteCodigo" ref="54885f3096730720b85eca1b13694106" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LZcoder::SiguienteCodigo           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calcula el siguiente codigo de la cadena. 
<p>
<dl class="return" compact><dt><b>Devuelve:</b></dt><dd>devuelve dicho codigo como un entero </dd></dl>

<p>Definición en la línea <a class="el" href="LZcoder_8cpp-source.html#l00072">72</a> del archivo <a class="el" href="LZcoder_8cpp-source.html">LZcoder.cpp</a>.</p>

<p>Hace referencia a <a class="el" href="Cadena_8cpp-source.html#l00045">Cadena::GetCaracter()</a>, <a class="el" href="LZcoder_8cpp-source.html#l00024">GetTamano()</a>, y <a class="el" href="Cadena_8cpp-source.html#l00025">Cadena::Size()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2170c081cc9e7726fb2aa9215788f522"></a><!-- doxytag: member="LZcoder::SiguienteCodigoMejor" ref="2170c081cc9e7726fb2aa9215788f522" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LZcoder::SiguienteCodigoMejor           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calcula el siguiente codigo de la cadena buscando la cadena mas larga. 
<p>
<dl class="return" compact><dt><b>Devuelve:</b></dt><dd>devuelve dicho codigo como un entero </dd></dl>

<p>Definición en la línea <a class="el" href="LZcoder_8cpp-source.html#l00034">34</a> del archivo <a class="el" href="LZcoder_8cpp-source.html">LZcoder.cpp</a>.</p>

<p>Hace referencia a <a class="el" href="Cadena_8cpp-source.html#l00045">Cadena::GetCaracter()</a>, <a class="el" href="LZcoder_8cpp-source.html#l00024">GetTamano()</a>, y <a class="el" href="Cadena_8cpp-source.html#l00025">Cadena::Size()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0489c25c1202e211dd56c09b39353d3d"></a><!-- doxytag: member="LZcoder::GetTamano" ref="0489c25c1202e211dd56c09b39353d3d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LZcoder::GetTamano           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="return" compact><dt><b>Devuelve:</b></dt><dd>devuelve el tamaño de la cadena </dd></dl>

<p>Definición en la línea <a class="el" href="LZcoder_8cpp-source.html#l00024">24</a> del archivo <a class="el" href="LZcoder_8cpp-source.html">LZcoder.cpp</a>.</p>

<p>Hace referencia a <a class="el" href="Cadena_8cpp-source.html#l00025">Cadena::Size()</a>.</p>

<p>Referenciado por <a class="el" href="LZcoder_8cpp-source.html#l00072">SiguienteCodigo()</a>, y <a class="el" href="LZcoder_8cpp-source.html#l00034">SiguienteCodigoMejor()</a>.</p>

</div>
</div><p>
<a class="anchor" name="acb2e0ee6ae1623554b60b9712c601b2"></a><!-- doxytag: member="LZcoder::GetDistancia" ref="acb2e0ee6ae1623554b60b9712c601b2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LZcoder::GetDistancia           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="return" compact><dt><b>Devuelve:</b></dt><dd>devuelve la distancia </dd></dl>

<p>Definición en la línea <a class="el" href="LZcoder_8cpp-source.html#l00112">112</a> del archivo <a class="el" href="LZcoder_8cpp-source.html">LZcoder.cpp</a>.</p>

</div>
</div><p>
<a class="anchor" name="f2fc72da4d2546cdb4e5f7dbd11a05c7"></a><!-- doxytag: member="LZcoder::GetParidad" ref="f2fc72da4d2546cdb4e5f7dbd11a05c7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int LZcoder::GetParidad           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculo del crc32. 
<p>
<dl class="return" compact><dt><b>Devuelve:</b></dt><dd>Devulve el crc32 de la cadena </dd></dl>

<p>Definición en la línea <a class="el" href="LZcoder_8cpp-source.html#l00117">117</a> del archivo <a class="el" href="LZcoder_8cpp-source.html">LZcoder.cpp</a>.</p>

<p>Hace referencia a <a class="el" href="Cadena_8cpp-source.html#l00065">Cadena::GetParidad()</a>.</p>

</div>
</div><p>
<hr>La documentación para esta clase fue generada a partir de los siguientes ficheros:<ul>
<li>include/<a class="el" href="LZcoder_8h-source.html">LZcoder.h</a><li>src/<a class="el" href="LZcoder_8cpp-source.html">LZcoder.cpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generado el Thu Jun 10 12:36:12 2010 para Metodología de la Programación II por&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>
